home *** CD-ROM | disk | FTP | other *** search
- #!C:/Perl/bin/perl
-
- # âëâCâuâëâèü[é╠ÅÇö⌡
- require 'cgi-lib.pl';
-
- #âtâHü[âÇâfü[â^é≡ô╟é▐
- &ReadParse(*Form);
-
- #âtâHü[âÇâfü[â^é╠èeìÇû┌é≡ô╛éΘ
- $ply1=$Form{'ply1'};
- $ply2=$Form{'ply2'};
- $rd=$Form{'rd'}-1;
- $color=$Form{'Color'};
- $ring=$Form{'Ring'};
- $graph=$Form{'Graph'};
- $pai=3.14;
-
- #éléhélédâ^âCâvé≡Åoù═é╖éΘ
- if($graph eq "g"){
- print "Content-type:model/vrml\n\n";
- $mk=" ";
- }else{
- print "Content-type:text/html\n\n";
- print "<html>";
- print "<body bgcolor=ffffcc>";
- $mk="<br>";
- }
-
- #ê╚ë║üAéuéqéléké╠âRü[âhé≡Åoù═é╖éΘ
- print "#VRML V2.0 utf8".$mk."\n";
- print "Background{".$mk."\n";
- print "skyColor [1 1 1]".$mk."\n";
- print "}".$mk."\n";
- print "#âèâôâO".$mk."\n";
- print "Transform{".$mk."\n";
- print "rotation 0 0 1 1.57".$mk."\n";
- print "scale 0.45 0.45 0.45".$mk."\n";
- print "children[".$mk."\n";
- print "#âèâôâOé╠î┤î^ÆΦï`".$mk."\n";
- print "DEF Ring Shape{".$mk."\n";
- print "geometry Extrusion{".$mk."\n";
- print "crossSection[".$mk."\n";
-
- #crossSectioné╠îvÄZèJÄn
- for($i=0;$i<=$ply1-1;$i++){
- $x=cos($i*(2*$pai/$ply1));
- $z=sin($i*(2*$pai/$ply1));
- print "$x $z,".$mk."\n";
- }
- print "1 0".$mk."\n";
- #crossSectioné╠îvÄZÅIù╣
-
- print "]".$mk."\n";
- print "spine[".$mk."\n";
-
- #spineé╠îvÄZèJÄn
- for($i=0;$i<=$ply2-1;$i++){
- $x=$rd*cos($i*(2*$pai/$ply2));
- $y=$rd*sin($i*(2*$pai/$ply2));
- $z=0;
- print "$x $y $z,".$mk."\n";
- }
- print "$rd 0 0".$mk."\n";
- #spineé╠îvÄZÅIù╣
-
- print "]".$mk."\n";
- print "solid FALSE".$mk."\n";
- print "}".$mk."\n";
- print "appearance Appearance{".$mk."\n";
- print "material Material{".$mk."\n";
-
- #ÉFé╠É▌ÆΦèJÄn
- if($color eq "r"){
- print "diffuseColor 1 0 0".$mk."\n";
- }elsif($color eq "g"){
- print "diffuseColor 0 1 0".$mk."\n";
- }elsif($color eq "b"){
- print "diffuseColor 0 0 1".$mk."\n";
- }
- #ÉFé╠É▌ÆΦÅIù╣
-
- print "}".$mk."\n";
- print "}".$mk."\n";
-
- #æµéQâèâôâOé╠É╢ɼèJÄn
- if($ring eq "y"){
- print "},".$mk."\n";
- print "#âèâôâOé╠î┤î^ùÿùp".$mk."\n";
- print "Transform{".$mk."\n";
- print "translation 0 -$rd 0".$mk."\n";
- print "rotation 0 1 0 1.57".$mk."\n";
- print "children[ USE Ring ]".$mk."\n";
- print "}".$mk."\n";
- }else{
- print "}".$mk."\n";
- }
- #æµéQâèâôâOé╠É╢ɼÅIù╣
-
- print "]".$mk."\n";
- print "}".$mk."\n";
-
- if(graph!="g"){
- print "</body>";
- print "</html>";
- }
-
- exit;
-